package com.loto.insurance.oem.web.utils;

import javax.servlet.http.HttpServletRequest;

public class WebUtils {
  public static String getIpAddr(HttpServletRequest request) {

	String ip = request.getHeader("x-forwarded-for");

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getHeader("X-Forwarded-For");
	}

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getHeader("Proxy-Client-IP");
	}

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getHeader("WL-Proxy-Client-IP");
	}

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getHeader("HTTP_CLIENT_IP");
	}

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getHeader("HTTP_X_FORWARDED_FOR");
	}

	if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	  ip = request.getRemoteAddr();
	}

	if (null != ip && ip.indexOf(',') != -1) {

	  String[] ips = ip.split(",");
	  for (int i = 0; i < ips.length; i++) {
		if (null != ips[i] && !"unknown".equalsIgnoreCase(ips[i])) {
		  ip = ips[i];
		  break;
		}
	  }
	}
	return ip;
  }
}
